<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
      xmlns:p="http://primefaces.org/ui"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:f="http://xmlns.jcp.org/jsf/core">


    <body>

        <ui:composition template="./../resources/plantillas/plantilla_general.xhtml">

            <ui:define name="content">
                <!--                <p:growl id="growl1" life="2000" showDetail="true"/>-->
                <h:form id="form">
                    <p:growl id="msgs" showDetail="true" />
                    <p:wizard  id="nueva_plantilla" backLabel="Regresar" nextLabel="Siguiente" flowListener="#{plantillaControlador.onFlowProcess}">

                        <p:tab id="consulta" title="Consulta SQL" >

                            <h2>Nueva Plantilla </h2>
                            <h3>Paso 1: Ingrese una consulta SQL</h3>
                            <div align="center">
                                <h:panelGrid columns="1">
                                    <p:messages/>
                                </h:panelGrid>
                                <h:panelGrid columns="1">
                                    <div align="center">
                                        <h3>Sentencia SQL</h3>
                                    </div>
                                    <h:panelGrid>
                                        <p:inputTextarea value="#{plantillaControlador.plantilla.consulta}" required="true" requiredMessage="Debe ingresar una sentencia SQL para continuar" rows="7" cols="80" counter="display" maxlength="1000" counterTemplate="{0} caracteres restantes." autoResize="false"/>
                                        <h:outputText id="display" />
                                    </h:panelGrid>
                                    <p:commandButton value="validar consulta" />
                                </h:panelGrid>

                            </div> 
                        </p:tab>
                        <p:tab id="conf_secciones" title="Configurar seccion de plantilla">
                            <h2>Nueva Plantilla</h2>
                            <h3>Paso 2: Configurar Secciones de la Plantilla</h3> 
                            <div align="center">
                                <h:panelGrid columns="1">
                                    <p:messages />
                                </h:panelGrid>
                                <h:panelGrid columns="3" cellpadding="60">
                                    <p:fieldset legend="Header" >
                                        <h:panelGrid columns="1" styleClass="panelGridCenter">
                                            <h:panelGrid columns="2" >
                                                <p:outputLabel for="incluir_header" value="Incluir" />
                                                <p:selectBooleanCheckbox id="incluir_header" value="#{plantillaControlador.marcaHeader}">
                                                    <p:ajax event="change" listener="#{plantillaControlador.cambiaHeader()}" update="incluir_footer,niveles_h,niveles_f,nueva_plantilla"/>
                                                </p:selectBooleanCheckbox>
                                            </h:panelGrid>
                                            <h:panelGrid columns="2" >
                                                <p:outputLabel for="niveles_h" value="Grupos: "/>
                                                <p:selectOneMenu disabled="#{!plantillaControlador.marcaHeader}" id="niveles_h" value="#{plantillaControlador.nivel_header_seleccionado}">
                                                    <f:selectItem itemLabel="nivel" itemValue="0"/>
                                                    <f:selectItems value="#{plantillaControlador.valoresHeader}"/>
                                                    <p:ajax event="change" listener="#{plantillaControlador.cambioNivelHeader()}" update="niveles_f"/>
                                                </p:selectOneMenu>
                                            </h:panelGrid>
                                        </h:panelGrid>
                                    </p:fieldset>
                                    <p:fieldset legend="Detail" >
                                        <h:panelGrid columns="1" cellpadding="10">
                                            <h:panelGrid columns="3" styleClass="panelGridCenter">
                                                <p:outputLabel for="incluir_detail" value="Incluir" />
                                                <p:selectBooleanCheckbox id="incluir_detail" value="#{plantillaControlador.marcaDetail}" >
                                                    <p:ajax event="change" update="nueva_plantilla"/>
                                                </p:selectBooleanCheckbox>
                                                <h:panelGroup/>
                                            </h:panelGrid>  
                                            <h:panelGroup/>
                                        </h:panelGrid>

                                    </p:fieldset>
                                    <p:fieldset legend="Footer" >
                                        <h:panelGrid columns="1">
                                            <h:panelGrid columns="2" styleClass="panelGridCenter">

                                                <p:outputLabel for="incluir_footer" value="Incluir"/>
                                                <p:selectBooleanCheckbox disabled="#{!plantillaControlador.marcaHeader}" id="incluir_footer" value="#{plantillaControlador.marcaFooter}">
                                                    <p:ajax event="change" update="niveles_f,nueva_plantilla"/>
                                                </p:selectBooleanCheckbox>
                                            </h:panelGrid>
                                            <h:panelGrid columns="2">
                                                <p:outputLabel for="niveles_f" value="Grupos: "/>
                                                <p:selectOneMenu disabled="#{!plantillaControlador.marcaFooter}" id="niveles_f" value="#{plantillaControlador.nivel_footer_seleccionado}">
                                                    <f:selectItem itemLabel="nivel" itemValue="0"/>
                                                    <f:selectItems value="#{plantillaControlador.valoresFooter}"/>
                                                </p:selectOneMenu>
                                            </h:panelGrid>
                                        </h:panelGrid>
                                    </p:fieldset>
                                </h:panelGrid>
                            </div>
                        </p:tab>
                        <p:tab id="formato_header" title="Formatear header" rendered="#{plantillaControlador.marcaHeader}">
                            <h2>Nueva Plantilla</h2>
                            <h3>Paso 3: Formato de Plantilla</h3> 

                            <h:panelGrid columns="2" cellpadding="10">
                                <p:outputLabel for="header_actual" value="Nivel header actual"/>
                                <p:selectOneMenu id="header_actual" value="#{plantillaControlador.nivel_header_actual}">
                                    <f:selectItems value="#{plantillaControlador.cargarNivelesHeaderSeleccionado()}"/>
                                    <p:ajax event="change" listener="#{plantillaControlador.renderizarNivelesHeader()}" update="formato_nivel_header"/> 
                                </p:selectOneMenu>                                
                            </h:panelGrid>
                            <h:panelGrid id="formato_nivel_header" columns="1">
                                <p:fieldset  legend="Formato de Header de nivel 1" rendered="#{plantillaControlador.renderizaHeader1}" >
                                    <h:panelGrid columns="2">
                                        <h:panelGrid columns="2">
                                            <p:outputLabel for="campos_posibles_h_1" value="Campos_posibles: " />
                                            <p:selectOneMenu id="campos_posibles_h_1" value="#{plantillaControlador.campoPosibleSeleccionado_h1}" style="width:150px">
                                                <f:selectItem itemLabel="campo libre" itemValue="campo libre" />
                                                <f:selectItem itemLabel="funcion SQL" itemValue="funcion SQL" />
                                                <f:selectItem itemLabel="nombre curso" itemValue="nombre curso" />
                                                <f:selectItem itemLabel="codigo curso" itemValue="codigo curso" />
                                            </p:selectOneMenu>
                                        </h:panelGrid>

                                        <h:panelGrid columns="3" cellspacing="15">
                                            <p:commandButton value="Agregar" actionListener="#{plantillaControlador.agregarCampoFormateo_h1()}" update="formato_header_h1"/>
                                            <p:commandButton value="Quitar"/>
                                            <p:commandButton value="Reemplazar"/>                                        
                                        </h:panelGrid>
                                    </h:panelGrid>

                                    <h:panelGrid id="formato_header_h1" columns="1">


                                        <p:dataTable value="#{plantillaControlador.camposAFormatear_h1}" var="campo" editable="true" editMode="cell" widgetVar="camposFormat_h1">
                                            <p:ajax event="cellEdit" listener="#{plantillaControlador.onCellEdit}" update=":form:msgs" />
                                            <p:column headerText="Tag XML">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.etiqueta}" /></f:facet>
                                                    <f:facet name="input"><p:inputText id="tagxml" value="#{campo.etiqueta}" style="width:100%"/></f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Campo elegido">
                                                <h:outputText value="#{campo.columnaQ}"/>
                                            </p:column>
                                            <p:column headerText="Tamaño">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.tamaño}" /></f:facet>
                                                    <f:facet name="input"><p:inputText id="tamano" value="#{campo.tamaño}" style="width:100%"/></f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Tipo">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.tipo}" /></f:facet>
                                                    <f:facet name="input">
                                                        <h:selectOneMenu id="tipo_dato_h_1" value="#{campo.tipo}" style="width:100%">
                                                            <f:selectItem itemLabel="numérico" itemValue="n" />
                                                            <f:selectItem itemLabel="alfanumérico" itemValue="a" />
                                                        </h:selectOneMenu>
                                                    </f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Cifrado">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.cifrado}" /></f:facet>
                                                    <f:facet name="input">
                                                        <h:selectOneMenu id="cifrado_check_h1" value="#{campo.cifrado}" style="width:100%">
                                                            <f:selectItem itemLabel="Si" itemValue="0" />
                                                            <f:selectItem itemLabel="No" itemValue="1" />
                                                        </h:selectOneMenu>
                                                    </f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Transformación">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.transformacion}" /></f:facet>
                                                    <f:facet name="input">
                                                        <h:selectOneMenu id="trans_tipo_h1" value="#{campo.transformacion}" style="width:100%">
                                                            <f:selectItem itemLabel="Rellenado" itemValue="0" />
                                                            <f:selectItem itemLabel="Eliminar decimal" itemValue="1" />
                                                        </h:selectOneMenu>
                                                    </f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                        </p:dataTable>
                                    </h:panelGrid>
                                </p:fieldset>
                                <p:fieldset  legend="Formato de Header de nivel 2" rendered="#{plantillaControlador.renderizaHeader2}" >
                                    <h:panelGrid columns="2">
                                        <h:panelGrid columns="2">
                                            <p:outputLabel for="campos_posibles_h_2" value="Campos_posibles: " />
                                            <p:selectOneMenu id="campos_posibles_h_2" value="#{plantillaControlador.campoPosibleSeleccionado_h2}" style="width:150px">
                                                <f:selectItem itemLabel="campo libre" itemValue="campo libre" />
                                                <f:selectItem itemLabel="funcion SQL" itemValue="funcion SQL" />
                                                <f:selectItem itemLabel="nombre curso" itemValue="nombre curso" />
                                                <f:selectItem itemLabel="codigo curso" itemValue="codigo curso" />
                                            </p:selectOneMenu>
                                        </h:panelGrid>

                                        <h:panelGrid columns="3" cellspacing="15">
                                            <p:commandButton value="Agregar" actionListener="#{plantillaControlador.agregarCampoFormateo_h2()}" update="formato_header_h2"/>
                                            <p:commandButton value="Quitar"/>
                                            <p:commandButton value="Reemplazar"/>                                        
                                        </h:panelGrid>
                                    </h:panelGrid>

                                    <h:panelGrid id="formato_header_h2" columns="1">


                                        <p:dataTable value="#{plantillaControlador.camposAFormatear_h2}" var="campo" editable="true" editMode="cell" widgetVar="camposFormat_h2">
                                            <p:ajax event="cellEdit" listener="#{plantillaControlador.onCellEdit}" update=":form:msgs" />
                                            <p:column headerText="Tag XML">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.etiqueta}" /></f:facet>
                                                    <f:facet name="input"><p:inputText id="tagxml" value="#{campo.etiqueta}" style="width:100%"/></f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Campo elegido">
                                                <h:outputText value="#{campo.columnaQ}"/>
                                            </p:column>
                                            <p:column headerText="Tamaño">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.tamaño}" /></f:facet>
                                                    <f:facet name="input"><p:inputText id="tamano" value="#{campo.tamaño}" style="width:100%"/></f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Tipo">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.tipo}" /></f:facet>
                                                    <f:facet name="input">
                                                        <h:selectOneMenu id="tipo_dato_h_2" value="#{campo.tipo}" style="width:100%">
                                                            <f:selectItem itemLabel="numérico" itemValue="n" />
                                                            <f:selectItem itemLabel="alfanumérico" itemValue="a" />
                                                        </h:selectOneMenu>
                                                    </f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Cifrado">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.cifrado}" /></f:facet>
                                                    <f:facet name="input">
                                                        <h:selectOneMenu id="cifrado_check_h2" value="#{campo.cifrado}" style="width:100%">
                                                            <f:selectItem itemLabel="Si" itemValue="0" />
                                                            <f:selectItem itemLabel="No" itemValue="1" />
                                                        </h:selectOneMenu>
                                                    </f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Transformación">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.transformacion}" /></f:facet>
                                                    <f:facet name="input">
                                                        <h:selectOneMenu id="trans_tipo_h2" value="#{campo.transformacion}" style="width:100%">
                                                            <f:selectItem itemLabel="Rellenado" itemValue="0" />
                                                            <f:selectItem itemLabel="Eliminar decimal" itemValue="1" />
                                                        </h:selectOneMenu>
                                                    </f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                        </p:dataTable>
                                    </h:panelGrid>
                                </p:fieldset>
                                <p:fieldset  legend="Formato de Header de nivel 3" rendered="#{plantillaControlador.renderizaHeader3}" >
                                    <h:panelGrid columns="2">
                                        <h:panelGrid columns="2">
                                            <p:outputLabel for="campos_posibles_h_3" value="Campos_posibles: " />
                                            <p:selectOneMenu id="campos_posibles_h_3" value="#{plantillaControlador.campoPosibleSeleccionado_h3}" style="width:150px">
                                                <f:selectItem itemLabel="campo libre" itemValue="campo libre" />
                                                <f:selectItem itemLabel="funcion SQL" itemValue="funcion SQL" />
                                                <f:selectItem itemLabel="nombre curso" itemValue="nombre curso" />
                                                <f:selectItem itemLabel="codigo curso" itemValue="codigo curso" />
                                            </p:selectOneMenu>
                                        </h:panelGrid>

                                        <h:panelGrid columns="3" cellspacing="15">
                                            <p:commandButton value="Agregar" actionListener="#{plantillaControlador.agregarCampoFormateo_h3()}" update="formato_header_h3"/>
                                            <p:commandButton value="Quitar"/>
                                            <p:commandButton value="Reemplazar"/>                                        
                                        </h:panelGrid>
                                    </h:panelGrid>

                                    <h:panelGrid id="formato_header_h3" columns="1">


                                        <p:dataTable value="#{plantillaControlador.camposAFormatear_h3}" var="campo" editable="true" editMode="cell" widgetVar="camposFormat_h3">
                                            <p:ajax event="cellEdit" listener="#{plantillaControlador.onCellEdit}" update=":form:msgs" />
                                            <p:column headerText="Tag XML">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.etiqueta}" /></f:facet>
                                                    <f:facet name="input"><p:inputText id="tagxml" value="#{campo.etiqueta}" style="width:100%"/></f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Campo elegido">
                                                <h:outputText value="#{campo.columnaQ}"/>
                                            </p:column>
                                            <p:column headerText="Tamaño">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.tamaño}" /></f:facet>
                                                    <f:facet name="input"><p:inputText id="tamano" value="#{campo.tamaño}" style="width:100%"/></f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Tipo">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.tipo}" /></f:facet>
                                                    <f:facet name="input">
                                                        <h:selectOneMenu id="tipo_dato_h_3" value="#{campo.tipo}" style="width:100%">
                                                            <f:selectItem itemLabel="numérico" itemValue="n" />
                                                            <f:selectItem itemLabel="alfanumérico" itemValue="an" />
                                                        </h:selectOneMenu>
                                                    </f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Cifrado">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.cifrado}" /></f:facet>
                                                    <f:facet name="input">
                                                        <h:selectOneMenu id="cifrado_check_h3" value="#{campo.cifrado}" style="width:100%">
                                                            <f:selectItem itemLabel="Si" itemValue="0" />
                                                            <f:selectItem itemLabel="No" itemValue="1" />
                                                        </h:selectOneMenu>
                                                    </f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Transformación">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.transformacion}" /></f:facet>
                                                    <f:facet name="input">
                                                        <h:selectOneMenu id="trans_tipo_h3" value="#{campo.transformacion}" style="width:100%">
                                                            <f:selectItem itemLabel="Rellenado" itemValue="0" />
                                                            <f:selectItem itemLabel="Eliminar decimal" itemValue="1" />
                                                        </h:selectOneMenu>
                                                    </f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                        </p:dataTable>
                                    </h:panelGrid>
                                </p:fieldset>
                                <p:fieldset  legend="Formato de Header de nivel 4" rendered="#{plantillaControlador.renderizaHeader4}" >
                                    <h:panelGrid columns="2">
                                        <h:panelGrid columns="2">
                                            <p:outputLabel for="campos_posibles_h_4" value="Campos_posibles: " />
                                            <p:selectOneMenu id="campos_posibles_h_4" value="#{plantillaControlador.campoPosibleSeleccionado_h4}" style="width:150px">
                                                <f:selectItem itemLabel="campo libre" itemValue="campo libre" />
                                                <f:selectItem itemLabel="funcion SQL" itemValue="funcion SQL" />
                                                <f:selectItem itemLabel="nombre curso" itemValue="nombre curso" />
                                                <f:selectItem itemLabel="codigo curso" itemValue="codigo curso" />
                                            </p:selectOneMenu>
                                        </h:panelGrid>

                                        <h:panelGrid columns="3" cellspacing="15">
                                            <p:commandButton value="Agregar" actionListener="#{plantillaControlador.agregarCampoFormateo_h4()}" update="formato_header_h4"/>
                                            <p:commandButton value="Quitar"/>
                                            <p:commandButton value="Reemplazar"/>                                        
                                        </h:panelGrid>
                                    </h:panelGrid>

                                    <h:panelGrid id="formato_header_h4" columns="1">


                                        <p:dataTable value="#{plantillaControlador.camposAFormatear_h4}" var="campo" editable="true" editMode="cell" widgetVar="camposFormat_h4">
                                            <p:ajax event="cellEdit" listener="#{plantillaControlador.onCellEdit}" update=":form:msgs" />
                                            <p:column headerText="Tag XML">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.etiqueta}" /></f:facet>
                                                    <f:facet name="input"><p:inputText id="tagxml" value="#{campo.etiqueta}" style="width:100%"/></f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Campo elegido">
                                                <h:outputText value="#{campo.columnaQ}"/>
                                            </p:column>
                                            <p:column headerText="Tamaño">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.tamaño}" /></f:facet>
                                                    <f:facet name="input"><p:inputText id="tamano" value="#{campo.tamaño}" style="width:100%"/></f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Tipo">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.tipo}" /></f:facet>
                                                    <f:facet name="input">
                                                        <h:selectOneMenu id="tipo_dato_h_4" value="#{campo.tipo}" style="width:100%">
                                                            <f:selectItem itemLabel="numérico" itemValue="n" />
                                                            <f:selectItem itemLabel="alfanumérico" itemValue="a" />
                                                        </h:selectOneMenu>
                                                    </f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Cifrado">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.cifrado}" /></f:facet>
                                                    <f:facet name="input">
                                                        <h:selectOneMenu id="cifrado_check_h4" value="#{campo.cifrado}" style="width:100%">
                                                            <f:selectItem itemLabel="Si" itemValue="0" />
                                                            <f:selectItem itemLabel="No" itemValue="1" />
                                                        </h:selectOneMenu>
                                                    </f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Transformación">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.transformacion}" /></f:facet>
                                                    <f:facet name="input">
                                                        <h:selectOneMenu id="trans_tipo_h4" value="#{campo.transformacion}" style="width:100%">
                                                            <f:selectItem itemLabel="Rellenado" itemValue="0" />
                                                            <f:selectItem itemLabel="Eliminar decimal" itemValue="1" />
                                                        </h:selectOneMenu>
                                                    </f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                        </p:dataTable>
                                    </h:panelGrid>
                                </p:fieldset>


                            </h:panelGrid>
                        </p:tab>


                        <p:tab id="formato_detail" title="Formatear detail" rendered="#{plantillaControlador.marcaDetail}" >
                            <h2>Nueva Plantilla</h2>
                            <h3>Paso 3: Formato de Plantilla</h3>                       
                            <p:fieldset legend="Formato de Detail" >
                                <h:panelGrid columns="2">
                                    <h:panelGrid columns="2">
                                        <p:outputLabel for="campos_posibles_d" value="Campos_posibles: " />
                                        <p:selectOneMenu id="campos_posibles_d" value="#{plantillaControlador.campoPosibleSeleccionado_d}" style="width:150px">
                                            <f:selectItem itemLabel="campo libre" itemValue="campo libre" />
                                            <f:selectItem itemLabel="funcion SQL" itemValue="funcion SQL" />
                                            <f:selectItem itemLabel="nombre curso" itemValue="nombre curso" />
                                            <f:selectItem itemLabel="codigo curso" itemValue="codigo curso" />
                                        </p:selectOneMenu>
                                    </h:panelGrid>



                                    <h:panelGrid columns="3" cellspacing="15">
                                        <p:commandButton value="Agregar" actionListener="#{plantillaControlador.agregarCampoFormateo_d()}" update="formato_detail_tabla"/>
                                        <p:commandButton value="Quitar"/>
                                        <p:commandButton value="Reemplazar"/>                                        
                                    </h:panelGrid>
                                </h:panelGrid>

                                <h:panelGrid id="formato_detail_tabla" columns="1">
                                    <p:dataTable value="#{plantillaControlador.camposAFormatear_d}" var="campo" editable="true" editMode="cell" widgetVar="camposFormat_d">
                                            <p:ajax event="cellEdit" listener="#{plantillaControlador.onCellEdit}" update=":form:msgs" />
                                            <p:column headerText="Tag XML">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.etiqueta}" /></f:facet>
                                                    <f:facet name="input"><p:inputText id="tagxml_d" value="#{campo.etiqueta}" style="width:100%"/></f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Campo elegido">
                                                <h:outputText value="#{campo.columnaQ}"/>
                                            </p:column>
                                            <p:column headerText="Tamaño">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.tamaño}" /></f:facet>
                                                    <f:facet name="input"><p:inputText id="tamano_d" value="#{campo.tamaño}" style="width:100%"/></f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Tipo">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.tipo}" /></f:facet>
                                                    <f:facet name="input">
                                                        <h:selectOneMenu id="tipo_dato_d" value="#{campo.tipo}" style="width:100%">
                                                            <f:selectItem itemLabel="numérico" itemValue="n" />
                                                            <f:selectItem itemLabel="alfanumérico" itemValue="a" />
                                                        </h:selectOneMenu>
                                                    </f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Cifrado">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.cifrado}" /></f:facet>
                                                    <f:facet name="input">
                                                        <h:selectOneMenu id="cifrado_check_d" value="#{campo.cifrado}" style="width:100%">
                                                            <f:selectItem itemLabel="Si" itemValue="0" />
                                                            <f:selectItem itemLabel="No" itemValue="1" />
                                                        </h:selectOneMenu>
                                                    </f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Transformación">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.transformacion}" /></f:facet>
                                                    <f:facet name="input">
                                                        <h:selectOneMenu id="trans_tipo_d" value="#{campo.transformacion}" style="width:100%">
                                                            <f:selectItem itemLabel="Rellenado" itemValue="0" />
                                                            <f:selectItem itemLabel="Eliminar decimal" itemValue="1" />
                                                        </h:selectOneMenu>
                                                    </f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                        </p:dataTable>

                                </h:panelGrid>
                            </p:fieldset>
                        </p:tab>
                        <p:tab id="formato_footer" title="Formatear footer" rendered="#{plantillaControlador.marcaFooter}">
                            <h2>Nueva Plantilla</h2>
                            <h3>Paso 3: Formato de Plantilla</h3>

                            <h:panelGrid columns="2" cellpadding="10">
                                <p:outputLabel for="header_actual_f" value="Relacionado con nivel de header: "/>
                                <p:selectOneMenu id="header_actual_f" value="#{plantillaControlador.nivel_footer_actual}">
                                    <f:selectItems value="#{plantillaControlador.cargarNivelesHeaderSeleccionado()}"/>
                                    <p:ajax event="change" listener="#{plantillaControlador.renderizarNivelesFooter()}" update="formato_nivel_footer"/> 
                                </p:selectOneMenu>
                            </h:panelGrid>
                            <h:panelGrid id="formato_nivel_footer" columns="1">
                                <p:fieldset  legend="Formato de Footer de nivel 1" rendered="#{plantillaControlador.renderizaFooter1}" >
                                    <h:panelGrid columns="2">
                                        <h:panelGrid columns="2">
                                            <p:outputLabel for="campos_posibles_f_1" value="Campos_posibles: " />
                                            <p:selectOneMenu id="campos_posibles_f_1" value="#{plantillaControlador.campoPosibleSeleccionado_f1}" style="width:150px">
                                                <f:selectItem itemLabel="campo libre" itemValue="campo libre" />
                                                <f:selectItem itemLabel="funcion SQL" itemValue="funcion SQL" />
                                                <f:selectItem itemLabel="nombre curso" itemValue="nombre curso" />
                                                <f:selectItem itemLabel="codigo curso" itemValue="codigo curso" />
                                            </p:selectOneMenu>
                                        </h:panelGrid>

                                        <h:panelGrid columns="3" cellspacing="15">
                                            <p:commandButton value="Agregar" actionListener="#{plantillaControlador.agregarCampoFormateo_f1()}" update="formato_footer_f1"/>
                                            <p:commandButton value="Quitar"/>
                                            <p:commandButton value="Reemplazar"/>                                        
                                        </h:panelGrid>
                                    </h:panelGrid>

                                    <h:panelGrid id="formato_footer_f1" columns="1">


                                        <p:dataTable value="#{plantillaControlador.camposAFormatear_f1}" var="campo" editable="true" editMode="cell" widgetVar="camposFormat_f1">
                                            <p:ajax event="cellEdit" listener="#{plantillaControlador.onCellEdit}" update=":form:msgs" />
                                            <p:column headerText="Tag XML">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.etiqueta}" /></f:facet>
                                                    <f:facet name="input"><p:inputText id="tagxml_f1" value="#{campo.etiqueta}" style="width:100%"/></f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Campo elegido">
                                                <h:outputText value="#{campo.columnaQ}"/>
                                            </p:column>
                                            <p:column headerText="Tamaño">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.tamaño}" /></f:facet>
                                                    <f:facet name="input"><p:inputText id="tamano_f1" value="#{campo.tamaño}" style="width:100%"/></f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Tipo">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.tipo}" /></f:facet>
                                                    <f:facet name="input">
                                                        <h:selectOneMenu id="tipo_dato_f_1" value="#{campo.tipo}" style="width:100%">
                                                            <f:selectItem itemLabel="numérico" itemValue="n" />
                                                            <f:selectItem itemLabel="alfanumérico" itemValue="a" />
                                                        </h:selectOneMenu>
                                                    </f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Cifrado">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.cifrado}" /></f:facet>
                                                    <f:facet name="input">
                                                        <h:selectOneMenu id="cifrado_check_f1" value="#{campo.cifrado}" style="width:100%">
                                                            <f:selectItem itemLabel="Si" itemValue="0" />
                                                            <f:selectItem itemLabel="No" itemValue="1" />
                                                        </h:selectOneMenu>
                                                    </f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Transformación">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.transformacion}" /></f:facet>
                                                    <f:facet name="input">
                                                        <h:selectOneMenu id="trans_tipo_f1" value="#{campo.transformacion}" style="width:100%">
                                                            <f:selectItem itemLabel="Rellenado" itemValue="0" />
                                                            <f:selectItem itemLabel="Eliminar decimal" itemValue="1" />
                                                        </h:selectOneMenu>
                                                    </f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                        </p:dataTable>
                                    </h:panelGrid>
                                </p:fieldset>
                                <p:fieldset  legend="Formato de Footer de nivel 2" rendered="#{plantillaControlador.renderizaFooter2}" >
                                    <h:panelGrid columns="2">
                                        <h:panelGrid columns="2">
                                            <p:outputLabel for="campos_posibles_f_2" value="Campos_posibles: " />
                                            <p:selectOneMenu id="campos_posibles_f_2" value="#{plantillaControlador.campoPosibleSeleccionado_f2}" style="width:150px">
                                                <f:selectItem itemLabel="campo libre" itemValue="campo libre" />
                                                <f:selectItem itemLabel="funcion SQL" itemValue="funcion SQL" />
                                                <f:selectItem itemLabel="nombre curso" itemValue="nombre curso" />
                                                <f:selectItem itemLabel="codigo curso" itemValue="codigo curso" />
                                            </p:selectOneMenu>
                                        </h:panelGrid>

                                        <h:panelGrid columns="3" cellspacing="15">
                                            <p:commandButton value="Agregar" actionListener="#{plantillaControlador.agregarCampoFormateo_f2()}" update="formato_footer_f2"/>
                                            <p:commandButton value="Quitar"/>
                                            <p:commandButton value="Reemplazar"/>                                        
                                        </h:panelGrid>
                                    </h:panelGrid>

                                    <h:panelGrid id="formato_footer_f2" columns="1">


                                        <p:dataTable value="#{plantillaControlador.camposAFormatear_f2}" var="campo" editable="true" editMode="cell" widgetVar="camposFormat_f2">
                                            <p:ajax event="cellEdit" listener="#{plantillaControlador.onCellEdit}" update=":form:msgs" />
                                            <p:column headerText="Tag XML">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.etiqueta}" /></f:facet>
                                                    <f:facet name="input"><p:inputText id="tagxml_f2" value="#{campo.etiqueta}" style="width:100%"/></f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Campo elegido">
                                                <h:outputText value="#{campo.columnaQ}"/>
                                            </p:column>
                                            <p:column headerText="Tamaño">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.tamaño}" /></f:facet>
                                                    <f:facet name="input"><p:inputText id="tamano_f2" value="#{campo.tamaño}" style="width:100%"/></f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Tipo">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.tipo}" /></f:facet>
                                                    <f:facet name="input">
                                                        <h:selectOneMenu id="tipo_dato_f_2" value="#{campo.tipo}" style="width:100%">
                                                            <f:selectItem itemLabel="numérico" itemValue="n" />
                                                            <f:selectItem itemLabel="alfanumérico" itemValue="a" />
                                                        </h:selectOneMenu>
                                                    </f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Cifrado">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.cifrado}" /></f:facet>
                                                    <f:facet name="input">
                                                        <h:selectOneMenu id="cifrado_check_f2" value="#{campo.cifrado}" style="width:100%">
                                                            <f:selectItem itemLabel="Si" itemValue="0" />
                                                            <f:selectItem itemLabel="No" itemValue="1" />
                                                        </h:selectOneMenu>
                                                    </f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Transformación">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.transformacion}" /></f:facet>
                                                    <f:facet name="input">
                                                        <h:selectOneMenu id="trans_tipo_f2" value="#{campo.transformacion}" style="width:100%">
                                                            <f:selectItem itemLabel="Rellenado" itemValue="0" />
                                                            <f:selectItem itemLabel="Eliminar decimal" itemValue="1" />
                                                        </h:selectOneMenu>
                                                    </f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                        </p:dataTable>
                                    </h:panelGrid>
                                </p:fieldset>
                                <p:fieldset  legend="Formato de Footer de nivel 3" rendered="#{plantillaControlador.renderizaFooter3}" >
                                    <h:panelGrid columns="2">
                                        <h:panelGrid columns="2">
                                            <p:outputLabel for="campos_posibles_f_3" value="Campos_posibles: " />
                                            <p:selectOneMenu id="campos_posibles_f_3" value="#{plantillaControlador.campoPosibleSeleccionado_f3}" style="width:150px">
                                                <f:selectItem itemLabel="campo libre" itemValue="campo libre" />
                                                <f:selectItem itemLabel="funcion SQL" itemValue="funcion SQL" />
                                                <f:selectItem itemLabel="nombre curso" itemValue="nombre curso" />
                                                <f:selectItem itemLabel="codigo curso" itemValue="codigo curso" />
                                            </p:selectOneMenu>
                                        </h:panelGrid>

                                        <h:panelGrid columns="3" cellspacing="15">
                                            <p:commandButton value="Agregar" actionListener="#{plantillaControlador.agregarCampoFormateo_f3()}" update="formato_footer_f3"/>
                                            <p:commandButton value="Quitar"/>
                                            <p:commandButton value="Reemplazar"/>                                        
                                        </h:panelGrid>
                                    </h:panelGrid>

                                    <h:panelGrid id="formato_footer_f3" columns="1">


                                        <p:dataTable value="#{plantillaControlador.camposAFormatear_f3}" var="campo" editable="true" editMode="cell" widgetVar="camposFormat_f3">
                                            <p:ajax event="cellEdit" listener="#{plantillaControlador.onCellEdit}" update=":form:msgs" />
                                            <p:column headerText="Tag XML">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.etiqueta}" /></f:facet>
                                                    <f:facet name="input"><p:inputText id="tagxml_f3" value="#{campo.etiqueta}" style="width:100%"/></f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Campo elegido">
                                                <h:outputText value="#{campo.columnaQ}"/>
                                            </p:column>
                                            <p:column headerText="Tamaño">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.tamaño}" /></f:facet>
                                                    <f:facet name="input"><p:inputText id="tamano_f3" value="#{campo.tamaño}" style="width:100%"/></f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Tipo">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.tipo}" /></f:facet>
                                                    <f:facet name="input">
                                                        <h:selectOneMenu id="tipo_dato_f_3" value="#{campo.tipo}" style="width:100%">
                                                            <f:selectItem itemLabel="numérico" itemValue="n" />
                                                            <f:selectItem itemLabel="alfanumérico" itemValue="an" />
                                                        </h:selectOneMenu>
                                                    </f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Cifrado">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.cifrado}" /></f:facet>
                                                    <f:facet name="input">
                                                        <h:selectOneMenu id="cifrado_check_f3" value="#{campo.cifrado}" style="width:100%">
                                                            <f:selectItem itemLabel="Si" itemValue="0" />
                                                            <f:selectItem itemLabel="No" itemValue="1" />
                                                        </h:selectOneMenu>
                                                    </f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Transformación">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.transformacion}" /></f:facet>
                                                    <f:facet name="input">
                                                        <h:selectOneMenu id="trans_tipo_f3" value="#{campo.transformacion}" style="width:100%">
                                                            <f:selectItem itemLabel="Rellenado" itemValue="0" />
                                                            <f:selectItem itemLabel="Eliminar decimal" itemValue="1" />
                                                        </h:selectOneMenu>
                                                    </f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                        </p:dataTable>
                                    </h:panelGrid>
                                </p:fieldset>
                                <p:fieldset  legend="Formato de Footer de nivel 4" rendered="#{plantillaControlador.renderizaFooter4}" >
                                    <h:panelGrid columns="2">
                                        <h:panelGrid columns="2">
                                            <p:outputLabel for="campos_posibles_f_4" value="Campos_posibles: " />
                                            <p:selectOneMenu id="campos_posibles_f_4" value="#{plantillaControlador.campoPosibleSeleccionado_f4}" style="width:150px">
                                                <f:selectItem itemLabel="campo libre" itemValue="campo libre" />
                                                <f:selectItem itemLabel="funcion SQL" itemValue="funcion SQL" />
                                                <f:selectItem itemLabel="nombre curso" itemValue="nombre curso" />
                                                <f:selectItem itemLabel="codigo curso" itemValue="codigo curso" />
                                            </p:selectOneMenu>
                                        </h:panelGrid>

                                        <h:panelGrid columns="3" cellspacing="15">
                                            <p:commandButton value="Agregar" actionListener="#{plantillaControlador.agregarCampoFormateo_f4()}" update="formato_footer_f4"/>
                                            <p:commandButton value="Quitar"/>
                                            <p:commandButton value="Reemplazar"/>                                        
                                        </h:panelGrid>
                                    </h:panelGrid>

                                    <h:panelGrid id="formato_footer_f4" columns="1">


                                        <p:dataTable value="#{plantillaControlador.camposAFormatear_f4}" var="campo" editable="true" editMode="cell" widgetVar="camposFormat_f4">
                                            <p:ajax event="cellEdit" listener="#{plantillaControlador.onCellEdit}" update=":form:msgs" />
                                            <p:column headerText="Tag XML">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.etiqueta}" /></f:facet>
                                                    <f:facet name="input"><p:inputText id="tagxml_f4" value="#{campo.etiqueta}" style="width:100%"/></f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Campo elegido">
                                                <h:outputText value="#{campo.columnaQ}"/>
                                            </p:column>
                                            <p:column headerText="Tamaño">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.tamaño}" /></f:facet>
                                                    <f:facet name="input"><p:inputText id="tamano_f4" value="#{campo.tamaño}" style="width:100%"/></f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Tipo">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.tipo}" /></f:facet>
                                                    <f:facet name="input">
                                                        <h:selectOneMenu id="tipo_dato_f_4" value="#{campo.tipo}" style="width:100%">
                                                            <f:selectItem itemLabel="numérico" itemValue="n" />
                                                            <f:selectItem itemLabel="alfanumérico" itemValue="a" />
                                                        </h:selectOneMenu>
                                                    </f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Cifrado">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.cifrado}" /></f:facet>
                                                    <f:facet name="input">
                                                        <h:selectOneMenu id="cifrado_check_f4" value="#{campo.cifrado}" style="width:100%">
                                                            <f:selectItem itemLabel="Si" itemValue="0" />
                                                            <f:selectItem itemLabel="No" itemValue="1" />
                                                        </h:selectOneMenu>
                                                    </f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                            <p:column headerText="Transformación">
                                                <p:cellEditor>
                                                    <f:facet name="output"><h:outputText value="#{campo.transformacion}" /></f:facet>
                                                    <f:facet name="input">
                                                        <h:selectOneMenu id="trans_tipo_f4" value="#{campo.transformacion}" style="width:100%">
                                                            <f:selectItem itemLabel="Rellenado" itemValue="0" />
                                                            <f:selectItem itemLabel="Eliminar decimal" itemValue="1" />
                                                        </h:selectOneMenu>
                                                    </f:facet>
                                                </p:cellEditor>
                                            </p:column>
                                        </p:dataTable>
                                    </h:panelGrid>
                                </p:fieldset>


                            </h:panelGrid>

                        </p:tab>
                        <p:tab id="nombre_plantilla" title="Ingresar Nombre">
                            <p:messages/>
                            <h:panelGrid columns="2" columnClasses="">
                                <p:outputLabel for="nombre_template" value="Ingrese Nombre de Plantilla: " />
                                <p:inputText id="nombre_template" value="#{plantillaControlador.plantilla.nombre}" required="true"/>
                            </h:panelGrid>
                        </p:tab>
                        <p:tab id="confirmacion" title="Confirmación">
                            <p:panel header="Confirmación">
                                <p:messages/>
                                <h:panelGrid columns="2">
                                    <p:outputLabel value="Nombre de Plantilla: " />
                                    <p:outputLabel value="#{plantillaControlador.plantilla.nombre}" styleClass="outputLabel"/>                                    
                                    <p:outputLabel value="Cantidad de Header: " />
                                    <p:outputLabel value="#{plantillaControlador.nivel_header_seleccionado}" styleClass="outputLabel"/>                                    
                                    <p:outputLabel value="Lleva Detail: " />
                                    <p:outputLabel value="#{plantillaControlador.marcaDetail}" styleClass="outputLabel"/>                                    
                                    <p:outputLabel value="Cantidad de Footer " />
                                    <p:outputLabel value="#{plantillaControlador.nivel_footer_seleccionado}" styleClass="outputLabel"/>                                    
                                </h:panelGrid>
                                <br/>
                                <p:commandButton value="Registrar plantilla" actionListener="#{plantillaControlador.registrarPlantilla()}" update="msgs"/>
                            </p:panel>

                        </p:tab>
                    </p:wizard>
                </h:form>
            </ui:define>
        </ui:composition>

    </body>
</html>
